const Koa = require("koa");
const Router = require("koa-router");
const app = new Koa();
const bodyParser = require("koa-bodyparser");
const router = new Router();
// app.use(async (ctx, next) => {
//   console.log("第一层 - 进入");

//   await next();
// });

// app.use(async (ctx, next) => {
//   console.log("第二层 - 进入");
//   await next();
// });

router.get("/", (ctx) => {
  // get 请求通过ctx.request接受
  console.log(ctx.request.query); //返回的是格式化好的对象
  console.log(ctx.request.querystring); //返回的是字符串
  ctx.body = `Hello from Koa Router!`;
});
router.get("/about/:id", (ctx) => {
  ctx.body = `动态路由匹配${ctx.params.id}`;
});

app.use(bodyParser());
// 在 Koa 中解析 x-www-form-urlencoded 格式的请求体，可以使用 koa-bodyparser 或 koa-body 这两个中间件。
router.post("/register", (ctx) => {
  // post 请求通过ctx.request.body接受
  //   获取 POST 参数（需要 koa-bodyparser）：
  const { username, password } = ctx.request.body;
  ctx.body = `用户名：${username}, 密码：${password}`;
});

// 应用路由
app.use(router.routes()).use(router.allowedMethods());
// 监听端口
app.listen(3000, () => {
  console.log("Server is running on http://localhost:3000");
});
